<?php
/**
 * @ingroup autenticacao
 * @brief Classe contendo o Plugin que verifica por request se existe alguem logado no sistema
 */
class Benservi_Plugins_CheckAuth extends Zend_Controller_Plugin_Abstract {

    /**
    * Função que é chamada toda vez que um usuário acessa alguma página,
     * caso seja necessário liberar acesso a uma determinada ação ou controle deve ser infomado na linha 24 deste plugin
    *    
    */
    public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) {
        $module = 'default';
        $resource = $request->getControllerName();
        $action = $request->getActionName();       
        if (($resource <> "user") and( $action <> 'usuario' ) and( $action <> 'buscaboleto' ) and ($action <> 'boletouserbb')) {

            if (!Zend_Auth::getInstance()->setStorage(new Zend_Auth_Storage_Session($module))->hasIdentity()) {
                $request->setControllerName('auth')
                        ->setActionName('index');
            }
        }
    }

}